// 云对象教程: https://uniapp.dcloud.net.cn/uniCloud/cloud-obj
// jsdoc语法提示教程：https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/129
module.exports = {
	/*
	作用：实现添加商品自动增加/减少own-shop表的商品数量
	参数：id:实现自增记录的id
	参数：num:每次增加的值，负数为减
	*/
	setShopGoodsNumberInc(id, num = 1) {
		const db = uniCloud.database();
		return db.collection('shop').where({
			_id: id
		}).update({
			goods: db.command.inc(num)
		});
	},

	/*
	作用：实现添加商品自动增加/减少own-shop-categories表的商品数量
	参数：id:实现自增记录的id
	参数：num:每次增加的值，负数为减
	*/
	setShopCategoriesGoodsNumberInc(id, num = 1) {
		const db = uniCloud.database();
		return db.collection('shop-categories').where({
			_id: id
		}).update({
			goods_number: db.command.inc(num)
		});

	},

	/*
	作用：增加店铺的访问量
	参数：id:实现自增记录的id
	参数：num:每次增加的值，负数为减
	*/
	setShopPageViewNumberInc(id, num = 1) {
		const db = uniCloud.database();
		return db.collection('shop').where({
			_id: id
		}).update({
			page_view: db.command.inc(num)
		});
	},

	//把商品名称从店铺关键词数组中删除
	deleteShopKeyword(id, keyword) {
		const db = uniCloud.database();
		const dbCmd = db.command
		db.collection('own-shop').doc(id).update({
			keywords: dbCmd.pull(keyword)
		})
	},
	//更新用户表中的收藏数组
	updateUsersCollect(userId, shopId) {
		const db = uniCloud.database();
		const dbCmd = db.command
		//更新到用户表
		return db.collection('uni-id-users').where({
			_id: userId
		}).update({
			collect: dbCmd.push(shopId)
		});
	},

	/**
	 * 作用：增加店铺可提现金额
	 * @param id:实现自增记录的id
	 * @param money:每次增加/减少的金额	*/
	increaseWithdrawableMoney(id, money = 0) {
		const db = uniCloud.database();
		return db.collection('shop').where({
			_id: id
		}).update({
			withdrawable_money: db.command.inc(money)
		});
	},
	/**
	 * 作用：增加店铺金额
	 * @param id:商铺id
	 * @param money:每次增加/减少的金额	*/
	addShopAmount(id, money = 0) {
		const db = uniCloud.database();
		return db.collection('shop').where({
			_id: id
		}).update({
			money: db.command.inc(money)
		});
	},
	
	/**
	 * - 批量修改店铺账单
	 * @param billIdArr {array} 要更新的账单Id
	 */
	BatchModifyStoreBills(billIdArr) {
		const db = uniCloud.database();
		const dbCmd = db.command
		const collection = db.collection("shop_bill");
		return collection.where({
			_id: dbCmd.in(billIdArr)
		}).update({
			is_account:true
		});
	}
}